Wireless ad hoc networks, in which a wireless communication device is arranged in each of a plurality of locations and pieces of information are collected from the respective locations without abase station, have been put into practical use. In this type of system, a server computer for example can collect and analyze pieces of meteorological information that were measured in the respective locations.
In a wireless ad hoc network described above, a wireless communication device transmits to an adjacent node a frame to which a destination address (for example, the address of a server computer) is added. The wireless communication device that has received this frame forwards the frame in accordance with the destination address. For this forwarding, the wireless communication device selects an appropriate adjacent node from among a plurality of adjacent nodes in accordance with the destination address, and forwards the received frame to the selected adjacent node. In other words, each wireless communication device autonomously determines an adjacent node as a forwarding destination. Then, the frame transmitted from a source wireless communication device is forwarded to a node designated by the destination address (a server computer for example) via one or a plurality of wireless communication devices.
As described above, in a wireless ad hoc network system, a route in which a frame is forwarded from a source node to a destination node is determined autonomously by one or a plurality of wireless communication devices in the system. Accordingly, a situation may occur in which a frame transmitted from a node is returned to that node after passing through one or a plurality of nodes (which will be described as a “loop” hereinafter). When a loop is established, it sometimes may occur that a frame is not transmitted to the destination node.
In view of this, a method of detecting a loop in a wireless ad hoc network is proposed. For example, each wireless communication device keeps, in a memory for a certain period of time, a record of information for identifying a frame transmitted or forwarded by that wireless communication device itself. Then, for each received frame, the wireless communication device confirms whether or not the information for identifying that received frame is recorded in the memory. When the result indicates that the information for identifying the received frame is recorded in the memory, the wireless communication device decides that the transmission route of that frame is a loop. When a loop is detected, the wireless communication device transmits or forwards a frame by using a different route (for example, WO2011/013165). In addition to this method, a technique for detecting a loop is proposed (for example, Japanese National Publication of International Patent Application No. 2009-514265).
As described above, by using a memory that records information for identifying a transmitted frame or a forwarded frame, wireless communication devices can detect a loop. However, in order to detect a loop highly accurately by using this method, transmitted frames and forwarded frames need to be managed for a relatively long period of time. Therefore, each wireless communication device needs to be provided with a memory of a large capacity for making loop decision.